package ScalaStudy.chapter03

object Test_Operator {
  def main(args: Array[String]): Unit = {

    /////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////   算术运算符   //////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////

    //（1）除法
    val div1: Int = 10 / 3         //结果为3
    println("div1:" + div1)

    val div2: Double = 10 / 3      //结果为3.0
    println("div2:" + div2)

    val div3: Double = 10.0 / 3    //结果为3.333..
    println("div3:" + div3)

    val div4: Double = 10.0 / 3    //保留两位有效数字，保留5位有效数字
    println("div4:" + div4.formatted("%5.2f"))

    /////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////   比较运算符   //////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////

    val s1: String = "hello"
    val s2: String = new String("hello")
    println(s1 == s2)                                //判断s1 和 s2 的值是否相同
    println(s1.eq(s2))                               //判断s1 和 s2 的地址是否相同

    /////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////   逻辑运算符   //////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////



    /////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////   赋值运算符   //////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////

    var i: Int  = 12
    i += 1
    println("i=" + i)

    /////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////  位运算符   //////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////

    val a = 60
    println(a << 3)                   //480
    println(a >> 2)                   //15

    val b:Short = -13
    println(b << 2)                   //-52
    println(b >> 2)                   //-4
    println(b >>> 2)                  //高位补0，变成很大的数

    /////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////  运算符   ///////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////


  }
}
